The invention relates to dual tone multi-frequency (DTMF) detection.
Dual tone multi-frequency reception and generation is an important function common to a large variety of telecommunication equipment. In specific applications, existing analog integrated circuits can be used for this purpose. However, a software implementation on a Digital Signal Processing (DSP) device is much more appropriate when a DSP is being used for other functions such as speech coding or echo cancellation as well as in the case in which many channels need to be served by common hardware.
DTMF signals consist of a low frequency tone and a high frequency tone and are typically used to represent the ten digits 0 to 9 and six other symbols, namely, *, #, A, B, C, and D. The frequency of the low tone can be 697 Hz, 770 Hz, 852 Hz or 941 Hz while the frequency of the high tone can be 1209 Hz, 1336 Hz, 1477 Hz or 1633 Hz depending on which of the symbols is being represented. Hence, the generation of DTMF signals simply implies the generation of two sinewaves at the frequencies given above. In contrast, the detection of DTMF signals is significantly more complex. As a rule, tones within +/-1.5% of the nominal frequency must be accepted while tones which deviate by more than +/3.5% of the nominal frequency must be rejected. In principle, a DTMF detector could be implemented as a filter bank followed by a decision stage. Although this is the preferred approach in analog integrated circuit implementations, the selectivity of the required filter bank makes direct software implementation impractical.
Other approaches proposed recently include a modified Groetzel algorithm as described by Mock in "Add DTMF Generation and Decoding to DSP .mu.P Designs" EDN, Mar. 21, 1985, and a technique based on linear prediction as described by Gay et al. in "Algorithms For Multi-Channel DTMF Detection For The WEDSP32 Family", Proc. Int. Conf. Acoust., Speech, Signal Processing, Glasgow, Scotland, May 1989, pp. 1134-1137.